#include <cstdio>
#include <algorithm>

using namespace std;

struct Children {
    int a;     // 跳起来的高度
    int id;    // 编号
};

// 对小朋友跳起来的高度进行排序
bool cmp(Children a, Children b) {
    return a.a < b.a;
}

Children child[100005];
int  ans[100005];    // 摘到的气球数目
int  h[100005];      // 气球高度

int main()
{
    int n, m, p;
    scanf("%d%d", &n, &m);
    for(int i = 0; i < n; i++) {
        scanf("%d", &child[i].a);
        child[i].id = i;
    }

    for(int i = 0; i < m; i++) {
        scanf("%d", &h[i]);
    }

    // 对小朋友起来的高度进行升序排序
    sort(child, child + n, cmp);
    sort(h, h + m);   // 对气球高度进行排序

    // 开始摘气球
    p = 0;    // 摘到第几个气球了
    for(int i = 0; i < n; i++) {
        while(p < m && h[p] <= child[i].a) {
            ans[child[i].id]++;
            p++;
        }
    }

    for(int i = 0; i < n; i++) {
        printf("%d\n", ans[i]);
    }

    return 0;
}